From b711282432e11c72feb9ff04943f975267f37bba Mon Sep 17 00:00:00 2001
From: matthew <matthew@owens.tech>
Date: Wed, 8 Aug 2018 19:19:35 +0000
Subject: [PATCH] implemented initial info window

---
 nogl/board_renderer.c |  8 +++++++-
 nogl/board_renderer.h |  1 +
 nogl/info_renderer.c  | 28 ++++++++++++++++++++++++++++
 nogl/info_renderer.h  |  8 ++++++++
 nogl/main.c           |  4 ++++
 5 files changed, 48 insertions(+), 1 deletion(-)
 create mode 100644 nogl/info_renderer.c
 create mode 100644 nogl/info_renderer.h

diff --git a/nogl/board_renderer.c b/nogl/board_renderer.c
index feab6e6..ae1ad73 100644
--- a/nogl/board_renderer.c
+++ b/nogl/board_renderer.c
@@ -44,7 +44,8 @@ void brndr_init()
 	drawPos = point2i(1,1);
 	getmaxyx(stdscr, termsize.y, termsize.x);
 	winSize = termsize;
-	winSize.y -= 2;
+	winSize.y -= 4;
+	//winSize.y -= 2;
 
 	win = newwin(winSize.y, winSize.x, winPos.y, winPos.x);
 }
@@ -80,3 +81,8 @@ void brndr_move_draw_pos(Point2i p)
 	drawPos.x += p.x;
 	drawPos.y += p.y;
 }
+
+int brndr_get_rendered_layer()
+{
+	return layer;
+}
diff --git a/nogl/board_renderer.h b/nogl/board_renderer.h
index 283cd54..58a1948 100644
--- a/nogl/board_renderer.h
+++ b/nogl/board_renderer.h
@@ -8,6 +8,7 @@ void brndr_render();
 void brndr_cleanup();
 void brndr_set_board(Board *board);
 void brndr_set_rendered_layer(int l);
+int brndr_get_rendered_layer();
 void brndr_move_draw_pos(Point2i p);
 
 #endif//BOARD_RENDERER_H
diff --git a/nogl/info_renderer.c b/nogl/info_renderer.c
new file mode 100644
index 0000000..b78112c
--- /dev/null
+++ b/nogl/info_renderer.c
@@ -0,0 +1,28 @@
+#include "info_renderer.h"
+#include "point.h"
+
+static WINDOW *win = NULL;
+static Point2i winPos;
+static Point2i winSize;
+
+void irndr_init()
+{
+	Point2i termsize;
+	getmaxyx(stdscr, termsize.y, termsize.x);
+	winPos = point2i(0, termsize.y - 3);
+	winSize = point2i(termsize.x, 3);
+	win = newwin(winSize.y, winSize.x, winPos.y, winPos.x);
+}
+
+void irndr_render()
+{
+	wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');
+	wrefresh(win);
+}
+
+void irndr_cleanup()
+{
+	// clearing the border
+	wborder(win, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ');
+	delwin(win);
+}
diff --git a/nogl/info_renderer.h b/nogl/info_renderer.h
new file mode 100644
index 0000000..790579c
--- /dev/null
+++ b/nogl/info_renderer.h
@@ -0,0 +1,8 @@
+#ifndef INFO_RENDERER_H
+#define INFO_RENDERER_H
+#include <ncurses.h>
+
+void irndr_init();
+void irndr_render();
+void irndr_cleanup();
+#endif//INFO_RENDERER_H
diff --git a/nogl/main.c b/nogl/main.c
index 01ad530..6ee901c 100644
--- a/nogl/main.c
+++ b/nogl/main.c
@@ -5,6 +5,7 @@
 #include "board.h"
 #include "point.h"
 #include "board_renderer.h"
+#include "info_renderer.h"
 #include "err.h"
 #include "input.h"
 
@@ -19,6 +20,7 @@ bool init()
 
 	initscr();
 	brndr_init();
+	irndr_init();
 	curs_set(false);
 	return true;
 }
@@ -40,6 +42,7 @@ int main()
 	brndr_set_rendered_layer(layer);
 
 	brndr_render();
+	irndr_render();
 
 	while(!quit){
 		switch(input_update()){
@@ -84,6 +87,7 @@ int main()
 
 	SDL_Quit();
 	brndr_cleanup();
+	irndr_cleanup();
 	endwin();
 
 	return 0;
-- 
2.20.1